GitHub Enterprise CloudでSAML SSOするときのIdPに「Okta」を使う場合の手順
今回検証するシナリオは以下のとおりです。
「GitHub Enterprise Cloud (GHEC)のプライベートリポジトリに、SAML SSOを使用して認証プロセスを提供する」
このシナリオをOktaをつかって実現してみます。
先日、Auth0でこちらのシナリオを検証しています。よければ以下の記事も御覧ください。
今回は、Auth0のSAMLフェデレーションではなく、Oktaの GitHub Enterprise Cloud - Organization をつかいます。
やってみた
詳しい手順は GitHub Docs「Configure GitHub Enterprise Cloud as SAML Service Provider」を確認してください。
■Okta側の設定
統合アプリケーションを作成します。
Application → Browse App Catalog から「GitHub…」と検索して「GitHub Enterprise Cloud - Organization 」を選択します。
GeneralタブでGHECのOrganization名を設定します。
Sign OnタブからSAMLフェデレーションに必要な情報を取得します。
■GHEC側の設定
Enterprise配下のOrganizationに遷移します。
SAML single sign-on を選択します。
Okta側で取得したSAML IdPの情報を入力します。
Test SAML configurationで動作確認しておきましょう。
■動作確認
外部パートナーのユーザーをOktaに招待します。
Directory → People → Add person からユーザー追加します。
Person一覧からActivateすると、ユーザーのメールアドレス宛にOktaへの招待メールが届きます。
ユーザーがActivateが完了すると、ユーザーはOktaのダッシュボードに遷移します。
次に、先ほど作成した統合アプリケーションにアサインをします。
するとユーザーのメールアドレス宛にOrganizationへの招待メールが届きます。
ユーザーは、Oktaでログインします。
すると、GitHubアカウントとの連携を求められます。
今回は外部パートナーは既に開発用GitHubアカウントを持っていることとします。
GitHubアカウントでログインするとプライベートリポジトリにアクセスできるようになります。
感想
今回のやり方は、Auth0でSAML SSOするやり方と違って、Okta内でメンバーを管理できる点がメリットのように思います。
Oktaは、Oktaを中心に様々なサービスと連携することができるため、社内ユーザーをGHECに繋げたい場合はOktaを。
不特定多数の社外ユーザーを繋げたい場合はAuth0を使うのがよさそうです。
以上です。